package com.fare.taluo.util.convert;

import java.math.BigDecimal;

import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.math.NumberUtils;

public class DoubleConvert{

	
	public static Double convert(String str){
		if(StringUtils.isNotEmpty(str) && NumberUtils.isNumber(str.trim())){
			return Double.parseDouble(str.trim());
		}
		return null;
	}
	
	public static Double convert(String str, Double defaultValue){
		if(StringUtils.isNotEmpty(str) && NumberUtils.isNumber(str.trim())){
			return Double.parseDouble(str.trim());
		}
		return defaultValue;
	}
	
	public static Double convert(BigDecimal decimal){
		if(decimal != null){
			return decimal.doubleValue();
		}
		return null;
	}
	
	public static Double convert(BigDecimal decimal, Double defaultValue){
		if(decimal != null){
			return decimal.doubleValue();
		}
		return defaultValue;
	}
	
	public static String convert(Double value, String defaultString, int scale){
		if(value == null) return defaultString;
		String v = null;
		if(scale == 0){
			v = String.valueOf((int)com.fare.taluo.util.value.NumberUtils.round(value, scale));
		}else{
			v = String.valueOf(com.fare.taluo.util.value.NumberUtils.round(value, scale));
		}
		return v;
	}
	public static String convert(Double value, int scale){
		String v = null;
		if(scale == 0){
			v = String.valueOf((int)com.fare.taluo.util.value.NumberUtils.round(value, scale));
		}else{
			v = String.valueOf(com.fare.taluo.util.value.NumberUtils.round(value, scale));
		}
		return v;
	}
	public static String convertPercent(Double value, String defaultString, int scale){
		if(value == null) return defaultString;
		String v = null;
		if(scale == 0){
			v = String.valueOf((int)com.fare.taluo.util.value.NumberUtils.round(value, scale));
		}else{
			v = String.valueOf(com.fare.taluo.util.value.NumberUtils.round(value, scale));
		}
		return v+"%";
	}
}
